package com.msh.artascope.interfaces;

import java.util.Set;

/**
 * 租户信息
 */
public interface ITenantInfo {

  /**
   * 租户id
   * @return
   */
  Long getId();

  /**
   * 租户名
   * @return
   */
  String getName();

  /**
   * 租户code
   * @return
   */
  String getCode();

  /**
   * 账号前缀
   * @return
   */
  String getAccountPrefix();

  /**
   * 获取系统ids
   * @return
   */
  Set<Long> getSystemIds();

  /**
   * 获取管理员账号id
   * @return
   */
  Long getAdminAccountId();



  class TenantInfo implements ITenantInfo {
    private Long id;
    private String name;
    private String code;
    private String accountPrefix;
    private Set<Long> systemIds;
    private Long adminAccountId;

    @Override
    public Long getId() {
      return id;
    }

    public TenantInfo setId(Long id) {
      this.id = id;
      return this;
    }

    @Override
    public String getCode() {
      return code;
    }

    public TenantInfo setCode(String code) {
      this.code = code;
      return this;
    }

    @Override
    public String getName() {
      return name;
    }

    public TenantInfo setName(String name) {
      this.name = name;
      return this;
    }

    @Override
    public String getAccountPrefix() {
      return accountPrefix;
    }

    public TenantInfo setAccountPrefix(String accountPrefix) {
      this.accountPrefix = accountPrefix;
      return this;
    }

    @Override
    public Set<Long> getSystemIds() {
      return systemIds;
    }

    public TenantInfo setSystemIds(Set<Long> systemIds) {
      this.systemIds = systemIds;
      return this;
    }

    @Override
    public Long getAdminAccountId() {
      return adminAccountId;
    }

    public TenantInfo setAdminAccountId(Long adminAccountId) {
      this.adminAccountId = adminAccountId;
      return this;
    }
  }
}
